<?php
namespace Catalog\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * BasketItem
 *
 * @ORM\Table(name="basket_item")
 * @ORM\Entity
 */
class BasketItem
{
    /**
     * @var integer
     *
     * @ORM\Column(name="basket_item_id", type="integer", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="SEQUENCE")
     * @ORM\SequenceGenerator(sequenceName="basket_item_id_sequence", allocationSize=1, initialValue=1)
     */
    private $basketItemId;

    /**
     * @var float
     *
     * @ORM\Column(name="quantity", type="decimal", nullable=false)
     */
    private $quantity;

    /**
     * @var string
     *
     * @ORM\Column(name="description", type="string", length=1024, nullable=false)
     */
    private $description;

    /**
     * @var float
     *
     * @ORM\Column(name="price", type="decimal", nullable=false)
     */
    private $price;

    /**
     * @var float
     *
     * @ORM\Column(name="vat", type="decimal", nullable=false)
     */
    private $vat;
    
    /**
     * @var string
     *
     * @ORM\Column(name="attributes", type="string", length=1024, nullable=true)
     */
    private $attributes;

    /**
     * @var string
     *
     * @ORM\Column(name="image_url", type="string", length=128, nullable=true)
     */
    private $imageUrl;
    
    /**
     * @var string
     *
     * @ORM\Column(name="basket_id", type="integer", nullable=false)
     */
    private $basketId;

    /**
     * @var string
     *
     * @ORM\Column(name="product_id", type="integer", nullable=false)
     */
    private $productId;

    /**
     * 
     * @return number
     */
    public function getId()
    {
    	return $this->basketItemId;
    }

    /**
     * 
     * @return number
     */
    public function getBasketId()
    {
    	return $this->basketId;
    }

    /**
     * 
     * @param numeric $basketId
     */
    public function setBasketId($basketId)
    {
    	$this->basketId = $basketId;
    }
    
    /**
     * 
     * @return number
     */
    public function getProductId()
    {
    	return $this->productId;
    }

    /**
     *
     * @param numeric $productId
     */
    public function setProductId($productId)
    {
    	$this->productId = $productId;
    }
    
    /**
     * 
     * @return number
     */
    public function getQuantity()
    {
    	return $this->quantity;
    }

    /**
     *
     * @param numeric $quantity
     */
    public function setQuantity($quantity)
    {
    	$this->quantity = $quantity;
    }
    
    /**
     *
     * @return string
     */
    public function getDescription()
    {
    	return $this->description;
    }

    /**
     *
     * @param numeric $description
     */
    public function setDescription($description)
    {
    	$this->description = $description;
    }
    
    /**
     *
     * @return number
     */
    public function getPrice()
    {
    	return $this->price;
    }

    /**
     *
     * @param numeric $price
     */
    public function setPrice($price)
    {
    	$this->price = $price;
    }

    /**
     *
     * @return string
     */
    public function getImageUrl()
    {
    	return $this->imageUrl;
    }

    /**
     * 
     * @param string $imageUrl
     */
    public function setImageUrl($imageUrl)
    {
    	$this->imageUrl = $imageUrl;
    }
    
    /**
     *
     * @return string
     */
    public function getAttributes()
    {
    	return $this->attributes;
    }

    /**
     *
     * @param string $attributes
     */
    public function setAttributes($attributes)
    {
    	$this->attributes = $attributes;
    }

    /**
     *
     * @return double
     */
    public function getVat()
    {
    	return $this->vat;
    }
    
    /**
     *
     * @param double $vat
     */
    public function setVat($vat)
    {
    	$this->vat = $vat;
    }
    
}
